Conventionally, multimedia such as video and audio has been delivered using analog delivery mediums such as NTSC (National Television System Committee) signals, and has been stored using analog storage mediums such as video cassette recorders. Thus, a significant part of the electronic components in a display device are dedicated to analog receiving hardware. If the display device has a digital output, additional electronic components are needed to convert the analog signal to a digital signal. With the advent of digital delivery mediums, such as ATSC (Advanced Television Systems Committee) signals, and of digital storage mediums such as DVDs, multimedia can be delivered and stored using pure digital signals. These digital signals typically contain compressed frames of video.
Digital media technology enables a greater variety of features to be delivered to users to enhance their multimedia experience. One particularly useful feature in conventional media systems involves layering graphics planes on top of an uncompressed video signal. A graphics overlay system may, for example layer still images, text, or animations on top of an input media stream. Applications of graphic overlay include various On-Screen Display (OSD) features such as navigation menus, setup screens, alerts, program information, digital watermarks, or other graphics layered on top of an uncompressed video signal without interrupting the media stream.
However, conventional graphics overlay systems are not well adapted for use with compressed digital media. In a conventional graphics overlay system, a series of blend operations is performed on stored uncompressed video frames with each successive blend operation layering an additional graphics plane. Conventionally, the blend operation uses a scan-line process by traversing and blending the video and graphics planes one line at a time. A conventional scan-line graphics overlay system is well adapted for use with conventional analog or uncompressed media in which video is sent to a display one line at a time. However, the conventional system is poorly suited for use with compressed digital media that do not follow a scan-line process but instead operate on a macroblock basis.
FIG. 1 illustrates a conventional graphic overlay system. Video input 104 comprises a compressed video stream. An input is coupled to a decoder 108 and receives the compressed video input 104. The decoder 108 is configured to decode the input video stream. Each frame of the video input 104 is fully decoded and stored in video memory 112 before the blend operations occur. Graphics planes 124 comprise a number of graphics layers (e.g. layers 132a-c) to be layered on video input 104. Graphics planes 124 may be stored in a graphics memory 128. Graphics memory 128 and video memory 112 are coupled to a series of blenders 116a-116c. Blenders 116a-c blend each layer 132a-c with the video stream in successive blend operations. Thus, conventionally, an additional blender 116 is used for each additional graphics plane to be layered on top of the video input 104. After the signal passes through all the blenders 116, a video output 120 is produced.
Conventional graphics overlay systems are inefficient for overlaying graphics on compressed digital video. With a conventional graphics overlay system, the full frame of the video input 104 must first be fully decoded and stored in a memory 112 before any blend operations take place. Traditional decoders must first store the video pixels so that they can be reordered from the macroblock order used in transmitting and processing compressed video into the raster scan order used for display. This means the conventional graphics overlay process cannot operate on streaming compressed video. Further, significant memory is needed to store the fully decoded frames. Additionally, conventional graphics overlay devices require separate blender hardware 116 for each layer 132 of graphics to be layered on the video input 104. This results in significant increases in cost and physical size as the number of graphics planes increases.
Conventional graphics overlay systems further often suffer from loss of video quality during conversion between color space formats. For example video may be processed in a YUV 4:4:4 color space format and then compressed by converting to a YUV 4:2:0 color space format. In a YUV color space, pixels are described in terms of one luminance component (Y) and two chrominance components (U, V). The luminance component, Y, represents the brightness while the U and V component represent the color on a U-V color plane. In YUV 4:4:4 format, each pixel is represented by one Y value, one U value, and one V value. YUV 4:2:0 is a compressed format where U and V values are downsampled such that there is only one U, V pair for every four pixels. However, in conventional systems, high intensity pixels are often tinted by the chrominance component of neighboring low-intensity pixel resulting in a loss of video quality. This is particularly problematic in graphics overlay systems because high intensity pixels are commonly layered on top of or adjacent to low intensity pixels on a separate layer.
Thus, among other things the current state of the art lacks a method for converting between color space formats in a graphics overlay system format that provides improved video quality.